package com.jic.market.service.overlay;

import com.jic.common.base.vo.PageResult;
import com.jic.common.base.vo.RestResult;
import com.jic.market.request.manager.overlay.*;
import com.jic.market.response.manager.overlay.OverlayGroupQueryResponse;
import com.jic.market.response.manager.overlay.OverlayInfoQueryResponse;
import com.jic.market.response.manager.overlay.OverlayPromotionResponse;
import com.jic.market.response.manager.overlay.QueryPagePromotionResponse;

import java.util.List;

/**
 * 叠加规则信息表
 *
 * @author : seven
 * @version : v1.0.0
 * @email : 774329481@qq.com
 * @since : 2020-03-20 04:41:52
 */
public interface OverlayBaseInfoService {

    RestResult<PageResult<QueryPagePromotionResponse>> queryPagePromotion(QueryPagePromotionRequest overlayAddRuleGroupRequest);

    RestResult<Boolean> checkPromType(OverlayPromotionInfoCheckRequest request);
    /** 新增 */
    RestResult<String> addOverlayGroup(OverlayAddRuleGroupRequest overlayAddRuleGroupRequest);
    /** 关闭 */
    RestResult<Boolean> closeOverlay(OverlayBaseRequest overlayBaseRequest);
    /** 删除 */
    RestResult<Boolean> deleteOverlay(OverlayBaseRequest overlayBaseRequest);

    /** 基础信息分页查询 */
    RestResult<PageResult<OverlayInfoQueryResponse>> queryOverlayInfo(OverlayInfoQueryRequest overlayInfoQueryRequest);
    /** 规则组信息分页查询 */
    RestResult<OverlayGroupQueryResponse> queryOverlayGroupInfo(OverlayGroupInfoQueryRequest overlayGroupInfoQueryRequest);
    /** 设置叠加规则组 */
    RestResult<Boolean> setOverlayGroup(OverlayGroupUpdateRequet overlayGroupUpdateRequet);
    /** 添加规则组 */
    RestResult<Boolean> addOverlayGroupPromotionInfo(OverlayGroupAddPromotionRequest overlayGroupAddPromotionRequest);

    /** 删除规则组 */
    RestResult<Boolean> deleteOverlayGroupPromotionInfo(OverlayGroupDeletePromotionRequest overlayGroupDeletePromotionRequest);
}